﻿Imports System.Data
Imports System.Data.SqlClient
Public Class frmActualizarCliente

    Private Sub frmActualizarCliente_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        'TODO: esta línea de código carga datos en la tabla 'EsperanzaDBDataSet.SP_ListarRubro' Puede moverla o quitarla según sea necesario.
        Me.SP_ListarRubroTableAdapter.Fill(Me.EsperanzaDBDataSet.SP_ListarRubro)
        'TODO: esta línea de código carga datos en la tabla 'EsperanzaDBDataSet.SP_ListarTipoTrabajo' Puede moverla o quitarla según sea necesario.
        Me.SP_ListarTipoTrabajoTableAdapter.Fill(Me.EsperanzaDBDataSet.SP_ListarTipoTrabajo)
        'TODO: esta línea de código carga datos en la tabla 'EsperanzaDBDataSet.SP_ListarSexo' Puede moverla o quitarla según sea necesario.
        Me.SP_ListarSexoTableAdapter.Fill(Me.EsperanzaDBDataSet.SP_ListarSexo)
        'TODO: esta línea de código carga datos en la tabla 'EsperanzaDBDataSet.SP_EstadoCivil' Puede moverla o quitarla según sea necesario.
        Me.SP_EstadoCivilTableAdapter.Fill(Me.EsperanzaDBDataSet.SP_EstadoCivil)
        'TODO: esta línea de código carga datos en la tabla 'EsperanzaDBDataSet.SP_ListarCliente' Puede moverla o quitarla según sea necesario.
        Me.SP_ListarClienteTableAdapter.Fill(Me.EsperanzaDBDataSet.SP_ListarCliente)
        Me.cboEstadoCivil.Enabled = False
        Me.cboRubro.Enabled = False
        Me.cboSexo.Enabled = False
        Me.cboTipoTrabajo.Enabled = False
    End Sub

    Private Sub btnActualizar_Click(sender As Object, e As EventArgs) Handles btnActualizar.Click
        ActualizarDatos()
        Me.Close()
    End Sub

    Private Sub LlenarDatos()
        If varConexion.State = ConnectionState.Open Then
            varConexion.Close()
        End If
        Try
            varConexion.Open()
            Dim cmd As New SqlCommand("SP_MostrarCliente", varConexion)
            cmd.CommandType = CommandType.StoredProcedure
            cmd.Parameters.Add("@RnpCliente", SqlDbType.NVarChar, 20).Value = Me.cboBuscarCliente.EditValue

            Dim reader As SqlDataReader
            reader = cmd.ExecuteReader
            If reader.Read = True Then
                Me.txtIdentidad.Text = reader.Item("RnpCliente")
                Me.txtNombre.Text = reader.Item("Nombres")
                Me.txtApellido.Text = reader.Item("Apellidos")
                Me.txtDireccion.Text = reader.Item("Direccion")
                Me.txtCelular.Text = reader.Item("Celular")
                Me.txtTelefono.Text = reader.Item("Telefono")
                Me.txtCorreo.Text = reader.Item("CorreoElectronico")
                Me.cboEstadoCivil.EditValue = reader.Item("IdEstadoCivil")
                Me.cboSexo.EditValue = reader.Item("IdSexo")
                Me.cboTipoTrabajo.EditValue = reader.Item("IdTipoTrabajo")
                Me.cboRubro.EditValue = reader.Item("IdRubro")
                Me.txtSalario.Text = reader.Item("Salario")
                Me.dtpFechaInicio.Text = reader.Item("FechaIngreso")
                Me.dtpFechaNacimiento.Text = reader.Item("FechaNacimiento")
            End If
            varConexion.Close()
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub

    Private Sub cboBuscarCliente_EditValueChanged(sender As Object, e As EventArgs) Handles cboBuscarCliente.EditValueChanged
        Me.cboEstadoCivil.Enabled = True
        Me.cboSexo.Enabled = True
        Me.cboTipoTrabajo.Enabled = True
        Me.cboRubro.Enabled = True
        LlenarDatos()
    End Sub

    Private Sub btnCerrar_Click(sender As Object, e As EventArgs) Handles btnCerrar.Click
        Me.Close()
    End Sub

    Private Sub ActualizarDatos()
        If varConexion.State = ConnectionState.Open Then
            varConexion.Close()
        End If

        Try
            varConexion.Open()
            Dim sql As New SqlCommand("SP_ActualizarCliente", varConexion)
            sql.CommandType = CommandType.StoredProcedure

            Me.SP_ListarClienteTableAdapter.SP_ActualizarCliente(txtIdentidad.Text, txtNombre.Text, txtApellido.Text, txtDireccion.Text, txtTelefono.Text, txtCelular.Text, txtCorreo.Text, cboEstadoCivil.EditValue, cboSexo.EditValue, cboTipoTrabajo.EditValue, cboRubro.EditValue, txtSalario.Text, dtpFechaInicio.Text, dtpFechaNacimiento.Text)

            MessageBox.Show("Ha modificado correctamente sus datos", varTitulo, MessageBoxButtons.OK, MessageBoxIcon.Information)
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub

    Private Sub txtCelular_KeyPress(sender As Object, e As KeyPressEventArgs) Handles txtCelular.KeyPress
        If Char.IsDigit(e.KeyChar) Then
            e.Handled = False
        ElseIf Char.IsLetter(e.KeyChar) Then
            e.Handled = True
        ElseIf Char.IsControl(e.KeyChar) Then
            e.Handled = False
        ElseIf Char.IsSeparator(e.KeyChar) Then
            e.Handled = True
        ElseIf Char.IsPunctuation(e.KeyChar) Then
            e.Handled = True
        End If
    End Sub


    Private Sub txtTelefono_KeyPress(sender As Object, e As KeyPressEventArgs) Handles txtTelefono.KeyPress
        If Char.IsDigit(e.KeyChar) Then
            e.Handled = False
        ElseIf Char.IsLetter(e.KeyChar) Then
            e.Handled = True
        ElseIf Char.IsControl(e.KeyChar) Then
            e.Handled = False
        ElseIf Char.IsSeparator(e.KeyChar) Then
            e.Handled = True
        ElseIf Char.IsPunctuation(e.KeyChar) Then
            e.Handled = True
        End If
    End Sub


    Private Sub txtSalario_KeyPress(sender As Object, e As KeyPressEventArgs) Handles txtSalario.KeyPress
        If Char.IsDigit(e.KeyChar) Then
            e.Handled = False
        ElseIf Char.IsLetter(e.KeyChar) Then
            e.Handled = True
        ElseIf Char.IsControl(e.KeyChar) Then
            e.Handled = False
        ElseIf Char.IsSeparator(e.KeyChar) Then
            e.Handled = True
        ElseIf Char.IsPunctuation(e.KeyChar) Then
            e.Handled = True
        End If
    End Sub
End Class